//package com.ctl.utils.activemq;
//
//import org.apache.activemq.ActiveMQConnection;
//import org.apache.activemq.ActiveMQConnectionFactory;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import javax.jms.*;
//import java.util.concurrent.atomic.AtomicInteger;
//
///**
// * <p>Title: Producer</p>
// * <p>Description: </p>
// * <p>Copyright: Copyright (c) 2018</p>
// * <p>Company: www.hanshow.com</p>
// *
// * @author guolin
// * @version 1.0
// * @date 2019-03-02 18:37
// */
//public class Producter {
//    static Logger logger = LoggerFactory.getLogger(Producter.class);
//
//    //ActiveMq 的默认用户名
//    private static final String USERNAME = ActiveMQConfig.USERNAME;//ActiveMQConnection.DEFAULT_USER;
//    //ActiveMq 的默认登录密码
//    private static final String PASSWORD = ActiveMQConfig.PASSWORD;//ActiveMQConnection.DEFAULT_PASSWORD;
//    //ActiveMQ 的链接地址
//    private static final String BROKEN_URL = ActiveMQConfig.BROKEN_URL;//ActiveMQConnection.DEFAULT_BROKER_URL;
//
//    AtomicInteger count = new AtomicInteger(0);
//    //链接工厂
//    ConnectionFactory connectionFactory;
//    //链接对象
//    Connection connection;
//    //事务管理
//    Session session;
//    ThreadLocal<MessageProducer> threadLocal = new ThreadLocal<>();
//
//    public void init(){
//        try {
//            //创建一个链接工厂
//            connectionFactory = new ActiveMQConnectionFactory(USERNAME,PASSWORD,BROKEN_URL);
//            //从工厂中创建一个链接
//            connection  = connectionFactory.createConnection();
//            //开启链接
//            connection.start();
//            //创建一个事务（这里通过参数可以设置事务的级别）
//            /*4.获取session  (参数1：是否启动事务,
//             参数2：消息确认模式[
//             AUTO_ACKNOWLEDGE = 1    自动确认
//             CLIENT_ACKNOWLEDGE = 2    客户端手动确认
//             DUPS_OK_ACKNOWLEDGE = 3    自动批量确认
//             SESSION_TRANSACTED = 0    事务提交并确认
//            ])*/
//            session = connection.createSession(true,Session.SESSION_TRANSACTED);
//        } catch (JMSException e) {
//            e.printStackTrace();
//        }
//    }
//
//    public void sendMessage(String disname){
//        try {
//            //创建一个消息队列
//            Queue queue = session.createQueue(disname);
//            //消息生产者
//            MessageProducer messageProducer = null;
//            if(threadLocal.get()!=null){
//                messageProducer = threadLocal.get();
//            }else{
//                messageProducer = session.createProducer(queue);
//                threadLocal.set(messageProducer);
//            }
//            while(true){
//                Thread.sleep(1000);
//                int num = count.getAndIncrement();
//                //创建一条消息
//                TextMessage msg = session.createTextMessage(Thread.currentThread().getName()+
//                        "productor:我是大帅哥，我现在正在生产东西！,count:"+num);
//                System.out.println(Thread.currentThread().getName()+
//                        "productor:我是大帅哥，我现在正在生产东西！,count:"+num);
//                //发送消息
//                messageProducer.send(msg);
//                //提交事务
//                session.commit();
//            }
//        } catch (JMSException e) {
//            e.printStackTrace();
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
//    }
//}